
var cxApi = {
    data: {
        apiRoot: null,  // webapi系统的应用地址，例如http://api.baijue-soft.com/DtWebApi, 也可以是相对当前服务器的路径 /DtWebApi
        uploadFile:null,
        appurl:null,
        codeHttp:null
    },
    
    // 系统初始化
    config: function (settings) {
        this.data.apiRoot = settings.apiRoot;
        this.data.uploadFile = settings.uploadFile;
        this.data.appurl = settings.appurl;
        this.data.codeHttp=settings.codeHttp;
    },

    // 重写jquery的ajax方法
    ajax :function(options) {
        var _ajax = $.ajax;
        // 备份opt中error和success方法
        //options.url = this.data.apiRoot + options.url;
        options.url = options.url;
        console.log(options.url);
        console.log(options.data);
        options.data = AESEncrypt(options.data);
        if (options.type==''||options.type==null) {
            options.type = 'POST';
        };
        var callback = {
            "beforeSend" : function(XHR) {
            },
            "complete" : function(XHR, TS) {
            },
            "error" : function(XMLHttpRequest, textStatus, errorThrown) {
            },
            "success" : function(data, textStatus) {
            }
        }
        // 判断参数中是否有beforeSend回调函数
        if (options.beforeSend) {
            callback.beforeSend = options.beforeSend;
        }
        // 判断参数中是否有complete回调函数
        if (options.complete) {
            callback.complete = options.complete;
        }
        // 判断参数中是否有error回调函数
        if (options.error) {
            callback.error = options.error;
        }
        // 判断参数中是否有success回调函数
        if (options.success) {
            callback.success = options.success;
        }
        // 扩展增强处理
        var _opt = $.extend(options, {
            error : function(XMLHttpRequest, textStatus, errorThrown) {
            	//console.log(textStatus);
　　　　　　　　　　　　// 错误方法增强处理
                    callback.error(XMLHttpRequest, textStatus, errorThrown);
            },
            success : function(data, textStatus) {           	    
                    // 成功回调方法增强处理
                    data = AESDecrypt(data);
                    data = JSON.parse(data);
                    console.log(data);
                    callback.success(data, textStatus);
            },
            beforeSend : function(XHR) {
                    // 提交前回调方法
                    callback.beforeSend(XHR);
            },
            complete : function(XHR, TS) {
                    // 请求完成后回调函数 (请求成功或失败之后均调用)。
                    callback.complete(XHR, TS);
            }
        });
        // 返回重写的ajax
        return _ajax(_opt);
    },
    
    // 重写jquery的ajax方法
    ajaxFile :function(options) {
        var _ajax = $.ajax;
        options.url = this.data.uploadFile + options.url;
        console.log(options.url);
      //  options.data = AESEncrypt(options.data);
        if (options.type==''||options.type==null) {
            options.type = 'POST';
        };
        var callback = {
            "beforeSend" : function(XHR) {
            },
            "complete" : function(XHR, TS) {
            },
            "error" : function(XMLHttpRequest, textStatus, errorThrown) {
            },
            "success" : function(data, textStatus) {
            }
        }
        // 判断参数中是否有beforeSend回调函数
        if (options.beforeSend) {
            callback.beforeSend = options.beforeSend;
        }
        // 判断参数中是否有complete回调函数
        if (options.complete) {
            callback.complete = options.complete;
        }
        // 判断参数中是否有error回调函数
        if (options.error) {
            callback.error = options.error;
        }
        // 判断参数中是否有success回调函数
        if (options.success) {
            callback.success = options.success;
        }
        // 扩展增强处理
        var _opt = $.extend(options, {
            error : function(XMLHttpRequest, textStatus, errorThrown) {
            	console.log(textStatus);
　　　　　　　　　　　　// 错误方法增强处理
                    callback.error(XMLHttpRequest, textStatus, errorThrown);
            },
            success : function(data, textStatus) {
            	console.log(data);
                    // 成功回调方法增强处理
                   /* data = AESDecrypt(data);
                    data = JSON.parse(data);*/
                    callback.success(data, textStatus);
            },
            beforeSend : function(XHR) {
                    // 提交前回调方法
                    callback.beforeSend(XHR);
            },
            complete : function(XHR, TS) {
                    // 请求完成后回调函数 (请求成功或失败之后均调用)。
                    callback.complete(XHR, TS);
            }
        });
        // 返回重写的ajax
        return _ajax(_opt);
    },
    
    GetParameInfo:function(ParamName) {
        //获取#号之后的参数
        var strKey= decodeURI(window.location.href);
        if (!strKey) {
            return false;
        }
        var strKeyValue = strKey.split("?");
        if (!strKeyValue||!strKeyValue[1]) {
            return false;
        }
        var arrParam = strKeyValue[1].split("&"); //对获得的参数字符串按照“=”进行分割
        for (var i = 0; i < arrParam.length; i++) {
          if (arrParam[i].split("=")[0] == ParamName) {
              return arrParam[i].split("=")[1];//返回参数值
          }
        }
    },

    loadStyle: function (url) {
        var link = document.createElement('link');
        link.rel = 'stylesheet';
        link.type = 'text/css';
        link.href = url;
        link.id="load";
        document.getElementsByTagName('head')[0].appendChild(link);
    },

    loadScript: function (url) {
        var script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = url;
        script.id="load";
        //document.body.append(script); 
        document.getElementsByTagName('head')[0].appendChild(script);
    },
    deletScriptOrStyle:function(){
    	$("script[id='load']").remove();
    	$("link[id='load']").remove();
    },

};




